//
//  YLKeyChainStore.h
//  Pods
//
//  Created by xthuang_293 on 2017/9/9.
//
//

#import <Foundation/Foundation.h>


NS_ASSUME_NONNULL_BEGIN

@interface YLKeyChainStore : NSObject

//build
//+ (YLKeyChainStore *)keyChainStore;
//+ (YLKeyChainStore *)keyChainStoreWithService:(nullable NSString *)service;
//+ (YLKeyChainStore *)keyChainStoreWithService:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup;

//read
//+ (nullable NSString *)stringForKey:(NSString *)key;
//+ (nullable NSString *)stringForKey:(NSString *)key service:(nullable NSString *)service;
//+ (nullable NSString *)stringForKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup;

//write
//+ (BOOL)setString:(nullable NSString *)value forKey:(NSString *)key;
//+ (BOOL)setString:(nullable NSString *)value forKey:(NSString *)key service:(nullable NSString *)service;
//+ (BOOL)setString:(nullable NSString *)value forKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup;

//check
//- (BOOL)contains:(nullable NSString *)key;

//delete single
//+ (BOOL)removeItemForKey:(NSString *)key;
//+ (BOOL)removeItemForKey:(NSString *)key service:(nullable NSString *)service;
//+ (BOOL)removeItemForKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup;
//
//- (BOOL)removeItemForKey:(NSString *)key;

//delete multiple
//+ (BOOL)removeAllItems;
//+ (BOOL)removeAllItemsForService:(nullable NSString *)service;
//+ (BOOL)removeAllItemsForService:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup;
//
//- (BOOL)removeAllItems;

@end

NS_ASSUME_NONNULL_END
